The present invention relates to a storage system offering large capacitance, high performance, and high availability through a hierarchical construction of RAID and a method for controlling the storage system; and more particularly, to a hierarchical RAID system including virtual disks, each of which is composed of a traditional RAID with a number of disks, and to a method for controlling the RAID system and a recording medium capable of being read through a computer having a writing of a program to realize the inventive method.
In the last few years, we have experienced huge disparity between I/O subsystem performance and processing power of a computer system that has been growing steadily. Myers has reported that processor power doubled every 2.25 years since 1978, however the I/O performance has not kept pace with the gains in processing power. As the gap between the performance of processors and I/O systems is becoming large, the overall performance of a computer system will depend on the I/O bottleneck. Therefore, it is essential to balancing the I/O bandwidth and the computational power.
Improving I/O performance, known as data declustering and disk striping in disk array systems has been one of the main research topic for computer architects in recent years. Patterson et al. have proposed Redundant Arrays of Inexpensive Disks (RAID) that is defined by five different levels of RAID (Level 1xcx9c5) depending on the data and parity placement scheme. The RAID offers large capacity and high performance using a number of disks, and is a reliable storage system that prevents from data loss by means of single disk redundancy, even if a disk fails.
Redundant arrays of inexpensive disks (hereinafter, referred to as xe2x80x9cRAIDxe2x80x9d) offer fault tolerance against disk failures. However a storage system having more disks suffer from less reliability and performance. A RAID architecture tolerating multiple disks failures shows extremely poor performance in comparison with one of the RAID Level 5 due to the complexity of implementation.
Now a day, the demand on huge data-storing capacity required by video on demand, internet data center, data warehousing, digital imaging, nonlinear video editing, and etc increases the number of disks of a RAID. As these trends accelerate, traditional RAID cannot protect from the simultaneous loss of more than one disk. As a result, a lot of research has arisen in disk array system that will not lose data even when multiple disks fails simultaneously.
A RAID is a storage system that offers large capacity and high performance using a number of disks, and is a reliable system that prevents from data loss by means of data redundancy, even if a disk fails. RAID Levels such as Level 0, Level 1, Level 5, Level 6, etc, show different characteristic of reliability and performance. A RAID showing better reliability offers generally poor performance.
The RAID Level 0 is a performance-oriented technology with no redundant data. Therefore the storage system requiring high performance uses this scheme. In this Level, the performance is very good but the reliability falls in proportion to the number of the disks.
The RAID Level 1, or disk mirroring, protects against disk failure by replicating all data stored on the virtual disk at least once. It offers extremely high data reliability, and improves performance. However there is a drawback that extremely many disks are required for this scheme.
The RAID Level 5 protects data loss from single disk failure using single parity disk, however more disks degrade the performance. It suffers still from data reliability because of small amount of parities. The RAID Level 6 improves data reliability using two parity disks, however it suffers from extremely degraded performance in comparison with the RAID Level 5.
Previous works have presented fault tolerant schemes for a disk array tolerating against two disk failures, and another works have presented three-disk-tolerant schemes offering better reliability of a disk array. Their schemes at least double the complexity of implementation in comparison with the RAID Level 5, thus a disk array offering better reliability suffers from severe performance degradation, since practical engineers hesitate to adopt these schemes into a commercial RAID system.
RAID Level 3+1 and Level 5+1 have been introduced to dissolve the performance degradation with attaining high reliability. The RAID Level 3+1 is mirroring of the RAID Level 3, and the RAID Level 5+1 is mirroring of the RAID Level 5. However, there is the drawback that these Levels require too many redundant disks, and their disk utilization is lower than 50%. FIGS. 1A and 1B show the structure of RAID Level 3+1 and 5+1. In the drawing, a RAID 110 is constructed as a copy of two RAID Level 3s 111, 112, and a RAID 120 is constructed as a copy of two RAID Level 5s 121, 122. However, such method also has a weakness that a waste of the disk is serious in comparison with the RAID Level 1.
Therefore, it is an object of the present invention to provide a hierarchical RAID system having a plurality of RAIDs in which a traditional RAID composed of a large number of disks is used as a virtual disk, in order for a data storing based on large capacitance, high performance, and high availability, and to provide a method for controlling the RAID system, and a record medium capable of being read through a computer having a writing of a program to realize the inventive method.
In accordance with an aspect of the present invention, there is provided a hierarchical RAID system having a plurality of RAIDs, in which at least one RAID having a large number of disks is used as a virtual disk, said hierarchical RAID system comprising: a host computing unit; at least one upper level RAID controlling unit having a first RAID Level (X), for controlling a plurality of first lower level RAID controlling units having a second RAID Level (Y); and the plurality of first lower level RAID controlling units, each of which includes member disks.
In accordance with another aspect of the present invention, there is provided a method for controlling a hierarchical RAID system having a plurality of RAIDs in which at least one RAID composed of a large number of disks is used as a virtual disk, the method includes the steps of: a) giving a read-command of data and parity from an upper level RAID controlling unit to a lower level RAID controlling unit when a write-command for new data is given from a host computer; b) performing an exclusive OR operation of the new data, existing data, and the parity, and executing a write-transmission in the lower RAID controlling unit so as to perform a renewal of the parity and the data according to the execution result of the exclusive OR; c) generating a command for reading the parity and data of a hard disk in the lower level RAID controlling unit according to the read-command of the step a), and transmitting it to the high RAID controlling unit; and d) evoking a reading for the data and a parity value and performing the exclusive OR operation according that the write-command given from the upper level RAID controlling unit becomes the write-transmission of each corresponding lower level RAID controlling unit, and executing the write-transmission for the renewal of parity and data.
In accordance with further another aspect of the present invention, there is provided a hierarchical RAID system having a microprocessor, which is provided so as to utilize at least one RAID composed of a large number of disks as a virtual disk, it is provided for a record medium capable of being read through a computer having a writing of a program, the program being for realizing a first function of giving a reading command for data and parity from a high RAID controlling unit to a lower level RAID controlling unit when a write-command for new data is given from a host computer; a second function of performing an exclusive OR operation of the new data, existing data and the parity, and executing a write-transmission in the lower RAID controlling unit so as to perform a renewal of the parity and the data according to the execution result of the exclusive OR; a third function of generating a command for reading the parity and data of a hard disk in the lower level RAID controlling unit according to the reading command of the first function, and transmitting it to the upper level RAID controlling unit; and a fourth function of evoking a reading for the data and a parity value and performing the exclusive OR operation according that the write-command given from the upper level RAID controlling unit becomes the write-transmission of each corresponding lower RAID controlling unit, and executing the write-transmission for the renewal of parity and data.